package com.ciaojian.worker.meituan;


import com.ciaojian.worker.meituan.enums.MeituanApiType;
import com.ciaojian.worker.meituan.kit.HttpKit;
import lombok.extern.slf4j.Slf4j;

import java.util.Map;

/**
 * 美团服务相关接口
 *
 * @author Atlakyn
 */
@Slf4j
public class MeituanApi {

    public static String doGet(String url, Map<String, Object> params) {
        return HttpKit.getDelegate().get(url, params);
    }

    public static String doPost(String url, Map<String, Object> params) {
        return HttpKit.getDelegate().post(url, params);
    }

    /**
     * 发起请求
     *
     * @param apiUrl 接口 URL
     * @param params 接口请求参数
     * @return {@link String} 请求返回的结果
     */
    public static String execution(String apiUrl, Map<String, Object> params) {
        return doPost(apiUrl, params);
    }


    /**
     * session换取接口
     *
     * @param params 参数
     * @return 请求返回的结果
     */
    public static String token(Map<String, Object> params) {
        return execution(MeituanApiType.token.getType(), params);
    }

    /**
     * 验券接口
     *
     * @param params {@link com.ciaojian.worker.meituan.mode.Consume} 验券参数
     * @return 验券结果
     */
    public static String consume(Map<String, Object> params) {
        log.info(">>>验券接口->验券参数={}>>>", params);
        String execution = execution(MeituanApiType.consume.getType(), params);
        log.info(">>>验券接口->验券结果={}>>>", execution);
        return execution;
    }
}
